#include <stdio.h>

//初始化为0
void init(int *arr, int len) {
    *arr = 0;
    if (len > 1) {
        init(arr + 1, len - 1);
    }
}
//打印每一位
void print(int *arr, int len) {
    printf("%d ", *arr);
    if (len > 1) {
        print(arr + 1, len - 1);
    }
}
//逆序
void reverse(int *arr, int len) {
    arr[0] = arr[0] ^ arr[len - 1];
    arr[len - 1] = arr[0] ^ arr[len - 1];
    arr[0] = arr[0] ^ arr[len - 1];
    if (arr + 1 < arr + len - 2) {
        reverse(arr + 1, len - 2);
    }
}
int main() {
    int arr[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
    reverse(arr, sizeof(arr) / 4);
    init(arr, sizeof(arr) / 4);
    print(arr, sizeof(arr) / 4);

    return 0;
}